package com.et114.modules.org.cells;

import java.util.Collection;
//import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.extremecomponents.table.bean.Column;
import org.extremecomponents.table.cell.Cell;
import org.extremecomponents.table.core.TableModel;
import org.extremecomponents.util.HtmlBuilder;

//import com.et114.modules.org.services.OrgFactory;
import com.et114.modules.org.vo.TitleMsgVo;

/*
 * @author guanhw
 */
 public class TitleIdMultipleSelectedCell2 implements Cell {
	protected  Log logger = LogFactory.getLog( this.getClass ( ) );
	public final static String	SELECTED_TITLES	= "SELECTED_PRESIDENTS";
	public final static String	SELECTED			= "SELECTED";
	public final static String	UNSELECTED			= "UNSELECTED";

	public String getExportDisplay ( TableModel model , Column column ) {
		return null;
	}

	public String getHtmlDisplay ( TableModel model , Column column ) {
		HtmlBuilder html = new HtmlBuilder();
		html.td ( 0 ).xclose ( ) ;
		try {
			TitleMsgVo bean = (TitleMsgVo) model.getCurrentRowBean();
			String scn = "deleteId";
			String id = String.valueOf ( bean.getTitleId ( ) ) ; 
			Collection selectedPresidentsIds = ( Collection ) model.getContext().getRequestAttribute(SELECTED_TITLES);
			if ( selectedPresidentsIds != null	&& selectedPresidentsIds.contains( id ) ) {
					html.input( "checkbox" ).name( scn ).value( id );
					html.checked();
					html.xclose();
			} else {
					html.input( "checkbox" ).name( scn ).value(	id );
					int count = bean .getCountRel ( ).intValue ( ) ; 
					//TODO check ACL 
					if ( count > 0  ) html.disabled ( );
					html.xclose();
			}
		} catch ( Exception e ) {
			logger.error (  e.getMessage ( ) , e ) ;
		}
		html.tdEnd ( );
		return html.toString();
	}
}
